<?php 
//步奏
// 第一步 
// 第二步 验证大小
// 第三步 验证是否是http上传
// 第四步 上传实现
function check(){
    if($_FILES['image']['error']!==0){
        switch($_FILES['image']['error']){
            case 1:return "文件大小超过了php.ini中allow的最大值";
            case 2:return "文件大小超过了表单allow的最大值";
            case 3:return "只有部分文件上传";
            case 4:return "没有文件上传";
            case 6:return "找不到临时文件";
            case 7:return "文件写入失败";

        }
            
    }
    
    $allow=array('image/jpeg','image/png','image/');
//创建一个fileinfo资源
$info=finfo_open(FILEINFO_MIME_TYPE);
$min=finfo_file($info,$_FILES['image']['tmp_name']);
if(!in_array($min,$allow)){
    return '只能上传'.implode(",",$allow).'的格式文件';
}
               //3.验证大小
               $size=123456;
            //    $k=1024;
               if($_FILES['image']['size']>$size){
                   return "文件不能超过".floor($size/1024)."k";
               }
               if(is_uploaded_file($_FILES['image']['tmp_name'])){
                   $path=uniqid('user').rand(100,500).$_FILES['image']['name'];
                   echo '上传成功';
               }else{
                   return '文件不是http post上传的<br>';
               }

}
if(!empty($_POST)){
    check();
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
<form action="" enctype="multipart/form-data" method="post">
    <!-- <input type="hidden" name="MAX_FILE_SIZE" value="2"> -->
    <input type="file" name='image'>
    <input type="submit" value='上传' name="sub">
    </form>
</body>
</html>